
package appvideo;
import java.util.Date;

public class SubMenu_gestionEmpleados_ {
    public static void gestionEmpleados(){
        //opc_submenu es usada para la seleccion de opciones de este submenu
                                int opc_submenu=0;
                                do{
                                    try{
                                        opc_submenu = ObtenerTeclado.dameEntero("Seleccione opcion:\n1.Alta Empleado\n2.Baja Empleado\n3.Modificar Empleado\n4.Visualizar Empleados\n5.Volver Atras"); 
                                        switch(opc_submenu){
                                            case 1://SUBMENU: ALTA EMPLEADO
                                                String nombre = ObtenerTeclado.dameCadena("Introduzca nombre:" );
                                                String apellidos = ObtenerTeclado.dameCadena("Introduzca apellidos:");
                                                String dniAlta = ObtenerTeclado.dameCadena("Introduzca DNI:");
                                                String email = ObtenerTeclado.dameCadena("Introduzca email:");
                                                int tlf  = ObtenerTeclado.dameEntero("Introduzca tlf:");
                                                
                                                try{
                                                    
                                                    int horasTrabajadas = ObtenerTeclado.dameEntero("Introduzca numero de horas trabajadas de su empleado al mes: ");
                                                    float precioHora = Float.parseFloat(ObtenerTeclado.dameCadena("Introduzca precio-hora de su empleado: "));
                                                  
                                                    Salario sEmp = new Salario(horasTrabajadas,precioHora);
                                                    
                                                    Date fechaAltaEmp = new Date();
                                                    
                                                    Empleado empAlta = new Empleado(nombre,apellidos,dniAlta,email,tlf,sEmp,horasTrabajadas,fechaAltaEmp);
                                                    empAlta.altaEmpleado(empAlta);
                                                    
                                                }catch(NumberFormatException nme){
                                                    System.out.println("Error: Introdujo datos no permitidos en las horas o el precio.");
                                                    opc_submenu=0;
                                                }
                                                break;
                                            case 2: //SUBMENU BAJA EMPLEADO
                                                String dniBaja = ObtenerTeclado.dameCadena("\nBusqueda Empleado:\nIntroduzca DNI:");
                                                Empleado empBaja = Empleado.buscaEmpleado(dniBaja);
                                                //empBaja.bajaEmpleado(empBaja); //No usar este metodo hasta que la conexion a la BD
            
                                                break;
                                            case 3:
                                                //Modificar empleado
                                                String dniModif = ObtenerTeclado.dameCadena("\nBusqueda Empleado:\nIntroduzca DNI:");
                                                Empleado empModif = Empleado.buscaEmpleado(dniModif);
                                                int opc_modif_emp=0;
                                                do{
                                                    try{//MENU MODIFICAR DATOS EMPLEADO
                                                        opc_modif_emp = ObtenerTeclado.dameEntero("Seleccione Dato a Modificar:\n1.Nombre\n2.Apellidos\n3.DNI\n4.Email"
                                                        + "\n5.Telefono\n6.Salario\n7.HorasTrabadas\n8.Fecha de Alta\n9.Volver\n10.Salir");
                                                        
                                                        switch(opc_modif_emp){
                                                            case 1:
                                                                break;
                                                            case 2:
                                                                break;
                                                            case 3:
                                                                break;
                                                            case 4:
                                                                break;
                                                            case 5:
                                                                break;
                                                            case 6://OPCION MODIFICAR SALARIO EMPLEADO
                                                                int opc_sub_emp=0;
                                                                do{
                                                                
                                                                        opc_sub_emp = ObtenerTeclado.dameEntero("\nIntroduzca tipo modificacion:\n1.Salario Bruto Anual\n2.Precio/hora\n3.Volver" );

                                                                            //SUBMENU TIPO ESTABLECIMIENTO SALARIO
                                                                            switch(opc_sub_emp){
                                                                                case 1:
                                                                                    int salBruto = ObtenerTeclado.dameEntero("Introduzca nuevo salario bruto anual de su empleado:"); 
                                                                                    //empSal.getSalario().setSalarioBrutoAnual(salBruto);//No usar hasta conexion con BD
                                                                                    System.out.println("Salario empleado DNI "+dniModif+" cambiado a "+salBruto);
                                                                                    break;
                                                                                case 2:
                                                                                    double precHora = ObtenerTeclado.dameDouble("Introduzca nuevo precio hora de su empleado:"); 
                                                                                    //empSal.getSalario().setPrecioHora((float)precHora);//No usar hasta conexion con BD
                                                                                    System.out.println("Precio/hora empleado DNI "+dniModif+" cambiado a "+precHora);
                                                                                    break;
                                                                                case 3:
                                                                                    break;
                                                                                default:
                                                                                    break;

                                                                            }
                                                                }while(opc_sub_emp<1 || opc_sub_emp>4);
                                                                break;
                                                            case 7:
                                                                break;
                                                            case 8:
                                                                break;
                                                            case 9:
                                                                //Codigo necesario para volver al submenu anterior
                                                                opc_submenu=0;
                                                                break;
                                                            case 10:
                                                                break;
                                                            default:
                                                                break;
                                                        }
                                                        
                                                    }catch(NumberFormatException nme){
                                                        System.out.println("Error con la opción elegida.");
                                                    }
                                                }while(opc_modif_emp!= 9 && opc_modif_emp!=10);
                                            case 4:
                                                //Visualizar empleados
                                                Empleado.visualizaEmpleados();
                                                break;
                                            case 5://Volver atrás->A menu principal
                                                //Se pone a 0 la opcion del menu superior para no
                                                //salir del todo
                                                main.opc=0;
                                                break;
                                            default:
                                                System.out.println("Error con la opción elegida.");
                                                break;
                                        }
                                    }catch(NumberFormatException nme){
                                        System.out.println("Error con la opción elegida.");
                                    }
                                }while(opc_submenu<1 || opc_submenu>5);
    }
}
 